Introducing CDDataExtract

CDDataExtract is a simple mechanism for extracting the contents of a data CD onto disk and removing the readonly attribute on copied files and directories.

Important Note: Throughout this help reference is made to data CDs but CDDataExtract also works with data DVDs.

A GUI is provided that allows the user to change the Source (the CD drive) and the Target (the disk directory). Below is an example main window.

In the example above clicking Extract would cause the warning popup below to appear because the New directory name (under parent) text box must not be left blank.

Source

The list of Source CD drives is determined for the PC where CDDataExtract is run. If CDDataExtract is run from a CD drive then that CD drive will be the default, otherwise the first CD drive in the list will be the default.

Target

The full target directory name is made up by appending the Parent and New directory name (with an intervening "\" of course!).

The Parent can be adjusted by using the Browse... button which displays a Browse for Folder window e.g.

The New directory name (under parent) is a text field where a (sub) directory name must be entered. The name can contain "\" to indicate further subdirectory levels.

The full target directory will be created during extraction if it does not exist (as will any intermediate directories).

About CDDataExtract...

The About CDDataExtract... button displays useful information about this release of CDDataExtract.

Help...

The Help... button display this help which is contained in CDDataExtract.chm which must exist in the same directory as CDDataExtract.exe itself. If the help button is missing then CDDataExtract.chm was not found.

Extract

Starts the actual extraction. Popups will appear if any problems are found. By default all extracted directories and files will be readwrite. If a CDDataExtract.ini is provided this default behavior can be changed.

Cancel

Simply cancels the application.

Customizing CDDataExtract

By supplying a CDDataExtract.ini it's possible to customize CDDataExtract e.g. specify a default New directory name (under parent), specify an executable to run after extraction, specify desktop icons to be created, specify files that should be readonly after extraction, specify files that should have their modify times set to the extraction time etc. It's also possible have multiple CDDataExtract*.ini files.

What would you like to look at now?

Release History
How to use CDDataExtract
CDDataExtract.ini
About CDDataExtract
License
Uninstalling CDDataExtract


Release history

This page contains information on (significant) changes and fault fixes per release.

2.0

  • Multiple CDDataExtract.ini files (CDDataExtract*.ini) can now be provided in which case a selection box is popped up at startup so the user can select which to use.
  • License added to help.
  • Uninstall instructions added to help.

1.4

Version 1.4 was the first version to have help documentation, thus it is considered the base version for documentation purposes.


How to use CDDataExtract

There are two possible ways you might use CDDataExtract:-

Using CDDataExtract with a CD you are "burning"

When preparing a CD you need to put the following files on the CD (in addition to those you are placing on the CD):-

CDDataExtract.exe | This is the actual CDDataExtract executable.
CDDataExtract.ini | Your customized version.
CDDataExtract.chm | This is the Compiled HTML Help used by CDDataExtract itself.
mfc42.dll | Some old systems are missing the Microsoft Foundation Classes dll (or have an old one that doesn't always work). The safest way to make sure CDDataExtract will work is to provide this mfc42.dll for it to use.

Then all the user needs to do is run CDDataExtract from the CD. To simplify this it is also common to provide an autorun.inf file in the CD root directory to execute CDDataExtract automatically when the CD is loaded e.g.

[autorun]
open=CDDataExtract.exe

Using CDDataExtract with a CD you are given

If you wish you can use CDDataExtract to extract files from a CD created by someone else. In this case simply start CDDataExtract, navigate to the correct CD, select the target directory and launch.

If you want to change the default actions you will need to supply a CDDataExtract.ini file (in the CDDataExtract executable directory).

If you are want to repeat an extraction multiple times this is also simplified by creating a special CDDataExtract.ini file. It's also possible to have multiple CDDataExtract*.ini files (in which case a selection box will popup to allow you to choose between them).


CDDataExtract.ini

The functioning of CDDataExtract can be enhanced by the use of a CDDataExtract.ini file. The CDDataExtract.ini file must be located in the same directory as the CDDataExtract.exe file. If no such file is present CDDataExtract works as if if had been presented with a CDDataExtract.ini file that contains:-

[CDDataExtract]
default_parent=OS_drive:\Program Files
default_dirname=
execute_with_prompt=
execute_without_prompt=
shortcut_limit=100
readonly_limit=100
touch_limit=100

Note: CDDataExtract.ini lines starting with a semicolon are treated as comments and unrecognized items are silently ignored.

Which ini item would you like to look at now?

default_parent
default_dirname
execute_with_prompt
execute_without_prompt
shortcut_limit
shortcut_name_<n>
shortcut_path_<n>
shortcut_title_<n>
readonly_limit
readonly_name_<n>
touch_limit
touch_name_<n>


default_parent

default_parent=<string>

If this is present the main window Parent field is preset to the string. The special string OS_drive: is replaced by the actual OS drive (and the colon) so, typically, OS_drive: is replaced by C: e.g. on my systems

default_parent=OS_drive:\temp

produces


default_dirname

default_dirname=<string>

If this is present the main window New directory name (under parent) field is present to the string e.g.

default_dirname=ACME Productions\Slider

produces


execute_with_prompt

execute_with_prompt=<string>

If this is present <string> must be the name of an executable extracted from the CD. After extraction the user is asked if the executable should be run.

execute_with_prompt=subdir1\my.exe

would cause a popup to appear asking the user if <full_target_dir>\subdir1\my.exe should be run (where <full_target_dir> if the Target from the main window).

Note: execute_with_prompt and execute_without_prompt are mutually exclusive.


execute_without_prompt

execute_without_prompt=<string>

If this is present <string> must be the name of an executable extracted from the CD. After extraction the executable should automatically launched e.g.

execute_without_prompt=subdir1\my.exe

would automatically run <full_target_dir>\subdir1\my.exe (where <full_target_dir> if the Target from the main window) after CD extraction.

Note: execute_without_prompt and execute_with_prompt are mutually exclusive.


shortcut_limit

shortcut_limit=<integer>

If this is present the default shortcut_limit of 100 is changed to <integer>.

The shortcut_limit value defines the highest shortcut_name_<n> and shortcut_title_<n> for which CDDataExtract will look e.g.

shortcut_limit=3

will mean that CDDataExtract will try to find shortcut_name_1, shortcut_title_1, shortcut_name_2, shortcut_title_2, shortcut_name_3 and shortcut_title_3 (but none of them has to exist).


shortcut_name_<n>

shortcut_name_<n>=<string>

If an item of this form is present then a Desktop shortcut will be created to the file specified by <string>. The default shortcut title (as seen on the Desktop) will be the same as the shortcut_name (change with shortcut_title_<n>).

Note: If <n> is larger than the defined shortcut_limit this item will be silently ignored.

Note: <string> should not contain subdirectories (use shortcut_path_<n> instead).

Example:-

shortcut_limit=2
shortcut_name_1=my.exe
shortcut_name_2=my2.exe
shortcut_path_2=subdir1\subdir1a
shortcut_title_2=My Second Executable


shortcut_path_<n>

shortcut_path_<n>=<string>

If an item of this form is present then the file referenced by the Desktop shortcut defined by shortcut_name_<n> will be in the subdirectory specified by <string>.

Note: If <n> is larger than the defined shortcut_limit this item will be silently ignored.

Note: If there is no corresponding shortcut_name_<n> this item will be silently ignored.

Note: <string> may contain subdirectories e.g. subdir1\subdir1a.

Example:-

shortcut_limit=2
shortcut_name_1=my.exe
shortcut_name_2=my2.exe
shortcut_path_2=subdir1\subdir1a
shortcut_title_2=My Second Executable


shortcut_title_<n>

shortcut_title_<n>=<string>

If an item of this form is present then the Desktop shortcut defined by shortcut_name_<n> will be given the title defined in <string>.

Note: If <n> is larger than the defined shortcut_limit this item will be silently ignored.

Note: If there is no corresponding shortcut_name_<n> this item will be silently ignored.

Example:-

shortcut_limit=2
shortcut_name_1=my.exe
shortcut_name_2=my2.exe
shortcut_path_2=subdir1\subdir1a
shortcut_title_2=My Second Executable


readonly_limit

readonly_limit=<integer>

If this is present the default readonly_limit of 100 is changed to <integer>.

The readonly_limit value defines the highest readonly_name_<n> for which CDDataExtract will look e.g.

readonly_limit=3

will mean that CDDataExtract will try to find readonly_name_1, readonly_name_2 and readonly_name_3 (but none of them has to exist).


readonly_name_<n>

readonly_name_<n>=<string>

If an item of this form is present then the file or directory specified by <string> will be made readonly after extraction.

Note: If <n> is larger than the defined readonly_limit this item will be silently ignored.

Note: <string> may contain subdirectories e.g. subdir1\subdir1a\file1

Note: <string> may contain wildcards e.g. subdir1\subdir1a\file*

Example:-

readonly_limit=3
readonly_name_1=my.exe
readonly_name_2=my.hlp
readonly_name_3=subdir\*


touch_limit

touch_limit=<integer>

If this is present the default touch_limit of 100 is changed to <integer>.

The touch_limit value defines the highest touch_name_<n> for which CDDataExtract will look e.g.

touch_limit=3

will mean that CDDataExtract will try to find touch_name_1, touch_name_2 and touch_name_3 (but none of them has to exist).


touch_name_<n>

touch_name_<n>=<string>

If an item of this form is present then the file or directory specified by <string> will have its modify time set to the extraction time.

Note: If <n> is larger than the defined touch_limit this item will be silently ignored.

Note: <string> may contain subdirectories e.g. subdir1\subdir1a\file1

Note: <string> may contain wildcards e.g. subdir1\subdir1a\file*

Example:-

touch_limit=3
touch_name_1=my.exe
touch_name_2=my.hlp
touch_name_3=subdir\*


Multiple CDDataExtract.ini files

If you:-

  1. use CDDataExtract in a stand-alone mode (i.e. the CDDataExtract executable is not on a specific CD with the sole intent of being used to extract the contents of that CD) and
  2. want to do repeat extractions of multiple CDs

you might find it useful to create multiple CDDataExtract.ini files (in the CDDataExtract.exe directory). When CDDataExtract startup up it looks for files ini files of pattern CDDataExtract*.ini. If there is more than one such file a selection window will appear before the main CDDataExtract dialog box e.g.

Use the Select CDDataExtract ini file dialog box to choose which ini file should be used. The Cancel button does not cancel the CDDataExtract application but it does cancel the ini selection (so the default highlighted when first shown is used).


About CDDataExtract...

Click the About CDDataExtract... button to popup a window showing useful information about the particular version of CDDataExtract e.g.

Go to Richard Daley Associates' web site Email Richard Daley Associates


License

CDDataExtract 2.0 License

Copyright © 2002 Richard Daley Associates. All rights reserved.

Author Martin G C Davies.

This software is provided "as-is" without any express or implied warranty. In no event shall the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, provided that the following conditions are met:-

1. All redistributions in binary form must retain all occurrences of the above copyright notice and web site addresses that are currently in place (for example, in the "About CDDataExtract..." window).

2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software to distribute a product, an acknowledgment in the product documentation would be appreciated but is not required.

Martin G C Davies for Richard Daley Associates
contact@rdas.co.uk
http://www.rdas.co.uk/


Uninstalling CDDataExtract

This section is for users who have installed a full version of CDDataExtract (as opposed to those who are using it from a CD supplied to them which uses it).

The simplest way to uninstall CDDataExtract is from the Start->Programs menu e.g.

Alternatively (depending on your Windows version) you can uninstall via the Windows Control Panel in the normal way.